import axios from 'axios'
import store from '@/store'

//创建axios二次封装的对象
const httpInstance = axios.create({
    // baseURL:'http://127.0.0.1:8000',
    baseURL:process.env.VUE_APP_BASE_URL,
    timeout:5000
})


//请求拦截器
httpInstance.interceptors.request.use(config => {
    //一般来说我们会在这给一些实例添加上token
    const token = window.localStorage.getItem('token')
    //存在token就加，不存在就不加
    if(token) {
        config.headers.Authorization = token
    }
    //直接放行
    return config;
},err => {
    //这里写一些错误的代码在这里
    return Promise.reject(err);
})

//响应拦截器
httpInstance.interceptors.response.use(res => {
    if(res.data.status === false) {
    window.localStorage.setItem("token",'')
    store.commit('setIsLogin',false)
    }
    return res.data?res.data:res;
},err => {
    //响应错误的在这里处理，比如404 500这些特殊的状态码
    //咱们跳转一个特定的处理页面
    return Promise.reject(err);
})

export default httpInstance;